home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / Inspectors / InspectorPanelDemo / InspectorPanel.h < prev    next >
Text File  |  1995-06-12  |  3KB  |  84 lines

  1. /*
  2.  *    Written by Joe Freeman jfreeman@next.com July 1991.
  3.  *    Use this object at your own risk.  
  4.  *    No support or implication of fitness for use is stated or implied.
  5.  *
  6.  *    InspectorPanel:
  7.  *        This object implements a standard inspector panel, similar to
  8.  *        the inspector panel in InterfaceBuilder.  Inspectors have three 
  9.  *        important parts that define the "inspector" part of its 
  10.  *        functionallity, 
  11.  *            A control to determine current inspector
  12.  *            View where variable part of inspector is be displayed.
  13.  *            View that will be scrolled around in variable part.
  14.  *        This object allows the programmer to make connections to all 
  15.  *        elements of the inspector inside a single nib file. It assumes
  16.  *        that the there is a view that acts as the template for the size
  17.  *        of the changable area, an offscreen window that holds the 
  18.  *        images of the of the inspectors, and some kind of matrix of 
  19.  *        buttons that will determine the current inspector, usually
  20.  *        a popup list.
  21.  *
  22.  *        This Panel assumes that all of the inspectors are tiled in
  23.  *        a single window.  That window (contentView) is scrolled around
  24.  *        behind a ClipView that is the size of a single inspector.
  25.  *
  26.  *        All other functionality of the InspectorPanel is identical to
  27.  *        that of standard Panels.  Any number of non changable views
  28.  *        can coexist with the inspection area.
  29.  *
  30.  *        inspectorView
  31.  *                 is the view where the information will be 
  32.  *        displayed in the inspectorPanel.  It is a ClipView that
  33.  *        gives the InspectorPanel size and location information.
  34.  *
  35.  *        offscreenWindow 
  36.  *                is the window who's content view will be 
  37.  *        moved around inside the inspectorView.  The order of the views
  38.  *        (in reference to the order of the popup list is 
  39.  *            .
  40.  *            .
  41.  *            .
  42.  *            m+1 m+2 m+3 ...
  43.  *            n+1 n+2 n+3 ...
  44.  *            0   1   2
  45.  *        setup the offscreenWindow as:
  46.  *            NOT visible on launch
  47.  *            NO resizebar
  48.  *            NOT deferred
  49.  *
  50.  *
  51.  *        The message 
  52.  *            -updateInspector:
  53.  *        causes the sender to be checked to figure out how the offscreen
  54.  *        window should be displayed in the clipview and notifies the
  55.  *        the delegate of the change.
  56.  *
  57.  */
  58.  
  59. #import <appkit/Panel.h>
  60.  
  61. @interface InspectorPanel:Panel
  62. {
  63.     id    inspectorView;
  64.     id    offscreenWindow;    /* changed in code to point to content view */
  65. }
  66.  
  67. /*
  68.  * This message should be sent by all elements of the pop up list. 
  69.  * Tags are not used, the location of the cell in the matrix is used.
  70.  */
  71. - updateInspector:sender;
  72.  
  73. @end
  74.  
  75. @interface InspectorPanelDelegate:Object
  76. {
  77. }
  78.  
  79. /*
  80.  * This method is sent to the delegate whenever the current inspector changes
  81.  * It sends the index of the current inspector (similar to tag when tag = pos)
  82.  */
  83. - inspectorDidChangeTo:(int)inspectNum;
  84. @end